<?php
class TalleresController extends AppController{
	var $name = 'Talleres';
	var $uses = array('UsersEntidadesTerritoriale','Tallere', 'Municipio', 'Departamento','User', 
					'EntidadesTerritoriale','Participante');
	var $helpers = array('Access','Entidad','Taller');
	
	function index($id_entidad=null) {
		$this->Tallere->recursive = 0;
		$talleres=$this->Tallere->find('all',array('conditions'=>array('Tallere.entidades_territoriale_id'=>$id_entidad)));
		$municipio = $this->Tallere->EntidadesTerritoriale->read("municipio_id",$id_entidad);
		$nombre_entidad = $this->Tallere->EntidadesTerritoriale->Municipio->read("nombre",$municipio['EntidadesTerritoriale']['municipio_id']);
		$nombre_entidad = $nombre_entidad['Municipio']['nombre'];
		$this->set(compact('talleres','id_entidad','nombre_entidad'));
	}

	function view($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Taller no valido', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('tallere', $this->Tallere->read(null, $id));
	}
	function add($id_entidad=null){
		if (!empty($this->data)) {
			$this->Tallere->create();
			if ($this->Tallere->save($this->data)) {				
				$this->Session->setFlash(__('Taller Guardado', true));
				$this->redirect(array('action'=>'index',$this->data['Tallere']['entidades_territoriale_id']));
			} else {
				$this->Session->setFlash(__('El Taller no se ha guardado', true));
			}
		}
		$users = $this->Tallere->User->find('list',array('fields'=>array('User.id','User.nombre')));
		$entidadesTerritoriales = $this->Tallere->EntidadesTerritoriale->Municipio->find('list',array('fields'=>array('Municipio.id','Municipio.nombre')));
		$this->set(compact('users', 'entidadesTerritoriales','id_entidad'));
	}

	function edit($id=null,$id_entidad=null) {		
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Taller no valido', true));
			$this->redirect(array('action' => 'index'));
		} 
		if (!empty($this->data)) {
			if ($this->Tallere->save($this->data)) {
				$this->Session->setFlash(__('Taller actualizado', true));
				$this->redirect(array('action' => 'index', $this->data['Tallere']['entidades_territoriale_id']));
			} else {
				$this->Session->setFlash(__('El taller no se actualizo.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Tallere->read(null, $id);
		}	
		$users = $this->Tallere->User->find('list',array('fields'=>array('User.id','User.nombre')));
		$entidadesTerritoriales = $this->Tallere->EntidadesTerritoriale->Municipio->find('list',array('fields'=>array('Municipio.id','Municipio.nombre')));
		$this->set(compact('users', 'entidadesTerritoriales','id_entidad'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Taller no valido', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Tallere->delete($id)) {
			$this->Session->setFlash(__('Taller Eliminado', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('El taller no se elimino', true));
		$this->redirect(array('action'=>'index'));
	}
	
	function entidades_taller(){
		$entidades_datos=$this->UsersEntidadesTerritoriale->find('all',array('conditions'=>array('UsersEntidadesTerritoriale.user_id'=>$this->Access->getMy('id'))));
		
		$entidades = array();
		$i = 0;
		foreach ($entidades_datos as &$entidad):
			$entidades[$i]['Entidad']['id']=$entidad['EntidadesTerritoriale']['id'];
			$municipio=$this->Municipio->read(null,$entidad['EntidadesTerritoriale']['municipio_id']);
			$departamento=$this->Departamento->read(null,$entidad['EntidadesTerritoriale']['departamento_id']);							
			$entidades[$i]['Entidad']['nombre']=$municipio['Municipio']['nombre'];
			$entidades[$i]['Entidad']['tipo']=$entidad['EntidadesTerritoriale']['tipo'];
			$entidades[$i]['Entidad']['departamento']=$departamento['Departamento']['nombre'];
			$usuarios=$this->User->find('all',array('conditions'=>array('User.group_id'=>4)));
			//$entidades[$i]['Entidad']['participante']=$usuarios['User']['nombre'];
			//$entidades[$i]['Entidad']['user']=$departamento['Departamento']['nombre'];
			$i++;
				//die(var_dump($entidades[$i]['Entidad']['participante']));
		endforeach;
		$group_id= $this->Access->getMy('group_id');
		$user_id= $this->Access->getMy('id');
		
		//$participantes=$this->UsersEntidadesTerritoriale->find('all',array('conditions'=>array('UsersEntidadesTerritoriale.user_id'=>$usuarios)));
	
		$this->set(compact('entidades', 'participantes'));
	}	

	function fotografias($id_taller = null){
                //Preguntamos si nuestro arreglo 'archivos' fue definido
         if (isset ($_FILES["archivos"])){
                $dominio = substr($_POST["dominio"],0,strlen($_POST["dominio"])-9);
                $uploads_dir=$dominio.'fotografias_taller/';
                //Consulta de las fotografias que hay en el taller
                $taller = $this->Tallere->read(null, $_POST['id_taller']);
                $fotografias = ($taller['Tallere']['fotografias']!="")?split(",", $taller['Tallere']['fotografias']):array();
       //       die(var_dump($fotografias));
                $indice_foto = 1;

                if(count($fotografias)>0){
                   $indice_foto = count($fotografias);
                   $taller['Tallere']['fotografias'] = $taller['Tallere']['fotografias'].",";
                }
                //obtenemos la cantidad de elementos que tiene el arreglo archivos
                $tot = count($_FILES["archivos"]["name"]);                
                $foto_campo = "";
                for ($i = 0; $i < $tot; $i++){
                        //Con el indice $i, podemos obtener la propiedad que desemos de cada archivo para trabajar con este
                         $tmp_name = $_FILES["archivos"]["tmp_name"][$i];
                         //$name = $_FILES["archivos"]["name"][$i];
                         $ext="";
                         if($_FILES["archivos"]["type"][$i]=="image/jpeg")
                                $ext = ".jpg";
                         else if($_FILES["archivos"]["type"][$i]=="image/png")
                                $ext = ".png";
                         else 
                                $ext = ".gif";
                         
                         $name = $_POST['id_taller']."_".$indice_foto.$ext;
                         if(move_uploaded_file($tmp_name, $uploads_dir.$name)){
                                $foto_campo = $foto_campo.$name.",";
                                $indice_foto++;

                         }                         
                }
                $foto_campo = substr($foto_campo,0,strlen($foto_campo)-1);
                $this->Tallere->create();
                $this->Tallere->id= $_POST['id_taller'];                
				$this->Tallere->saveField('fotografias',$taller['Tallere']['fotografias'].$foto_campo);
				$this->Session->setFlash(__('Fotografias guardadas', true));
                $this->redirect(array('action'=>'fotografias',$_POST['id_taller']));
        }
      $this->set(compact('id_taller'));
   
     }
	function ver_fotografias($id_taller = null){	
		$lista = $this->Tallere->find('first',array('conditions'=>array('Tallere.id'=>$id_taller)));
		$fotografias = split(",", $lista['Tallere']['fotografias']);	
    	$this->set(compact('fotografias'));
	}
	
	function plan_accion($id_taller = null, $et=null){
                //Preguntamos si nuestro arreglo 'archivos' fue definido
         if (isset ($_FILES["archivos"])){
                $dominio = substr($_POST["dominio"],0,strlen($_POST["dominio"])-9);
                $uploads_dir=$dominio.'plan_taller/';
                //Consulta de las fotografias que hay en el taller
                $taller = $this->Tallere->read(null, $_POST['id_taller']);
                $plan = ($taller['Tallere']['plan']!="")?split(",", $taller['Tallere']['plan']):array();

                $indice_plan = 1;

                if(count($plan)>0){
                   $indice_plan = count($plan);
                   $taller['Tallere']['plan'] = $taller['Tallere']['plan'].",";
                }
                //obtenemos la cantidad de elementos que tiene el arreglo archivos
                $tot = count($_FILES["archivos"]["name"]);                
                $plan_campo = "";
                for ($i = 0; $i < $tot; $i++){
                        //Con el indice $i, podemos obtener la propiedad que desemos de cada archivo para trabajar con este
                         $tmp_name = $_FILES["archivos"]["tmp_name"][$i];
                         //$name = $_FILES["archivos"]["name"][$i];
                         $ext="";
                         if($_FILES["archivos"]["type"][$i]=="image/jpeg")
                                $ext = ".jpg";
                         else if($_FILES["archivos"]["type"][$i]=="image/png")
                                $ext = ".png";
                         else 
                                $ext = ".gif";
                         
                         $name = $_POST['id_taller']."_".$indice_plan.$ext;
                         if(move_uploaded_file($tmp_name, $uploads_dir.$name)){
                                $plan_campo = $plan_campo.$name.",";
                                $indice_plan++;
                         }                         
                }
                $plan_campo = substr($plan_campo,0,strlen($plan_campo)-1);
                $this->Tallere->create();
                $this->Tallere->id= $_POST['id_taller'];                
				$this->Tallere->saveField('plan',$taller['Tallere']['plan'].$plan_campo);
				$this->Session->setFlash(__('Plan de Accion Guardado', true));
                $this->redirect(array('action'=>'index',$_POST['id_et']));
        }
      $this->set(compact('id_taller', 'et'));
   
     }
	
	function ver_plan($id_taller = null){	
		$lista = $this->Tallere->find('first',array('conditions'=>array('Tallere.id'=>$id_taller)));
		$planes = split(",", $lista['Tallere']['plan']);	
    	$this->set(compact('planes'));
	}
     	
	function informe_taller_documento($id_taller=null,$id_entidad=null){			

		$talleres=$this->Tallere->find('first',array('conditions'=>array('Tallere.entidades_territoriale_id'=>$id_entidad)));
		$et = $this->EntidadesTerritoriale->read(null,$id_entidad);
		
		$nombre_entidad="";
		if($et['EntidadesTerritoriale']['tipo']=='Municipal'){
			$nombre_entidad = $this->Municipio->read("nombre",$et['EntidadesTerritoriale']['municipio_id']);
			$nombre_entidad = $nombre_entidad['Municipio']['nombre'];
		}else{
			$nombre_entidad = $this->Departamento->read("nombre",$et['EntidadesTerritoriale']['departamento_id']);
			$nombre_entidad = $nombre_entidad['Departamento']['nombre'];
		}
		
		//Equipo multiplicador del Taller
		
		$participantes = $this->Participante->find('all',array('conditions'=>array('Participante.tallere_id'=>$id_taller)));
		//die(var_dump($participantes));
		  
		$this->set(compact('talleres','id_entidad','nombre_entidad','participantes'));		
  	}
}